#ifndef OPTIONS_GENETIC__
#define OPTIONS_GENETIC__

#include "base.h"
#include "options.h"

#include "ticpp/ticpp.h"

/** Nastaveni genetickych algoritmu (GeneticAlgorithm, PermutationAlgorithm).
 */
class GeneticOptions: public Options {
public:
	/** Defaultni konstruktor. Vytvori zakladni tridu s predanym zakladnim nastavenim.
	 * \param parent zakladni nastaveni programu
	 */
	GeneticOptions(Options & parent): Options(parent) {}
	/** Destruktor, nema zadnou praci.
	 */
	~GeneticOptions() {};
	void Read(ticpp::Element * settings);
	void Print();
	std::string GetTitle(bool permutation = false);
	/* public members */
	int generation_size, ///< velikost populace
		generation_count; ///< pocet smycek pri generovani populaci
	double mutation_rate; ///< mutacni faktor
	bool original; ///< true, pokud je pozadovan puvodni trifazovy algoritmus (bez uprav)
};

#endif
